12. 클라우드 구조를 알아보자
51. 클라우드의 기본 구조
클라우드란 인터넷을 통해 제공되는 데이터, 애플리케이션, 서비스 등의 인프라 전반을 의미한다. 네트워크로 연결된 기기들이 클라우드를 구성하며, 이러한 물리적 장비가 모여있는 시설을 데이터 센터라고 부른다.
클라우드라는 이름은 네트워크 다이어그램에서 인터넷을 경계가 모호하고 실체가 정해지지 않은 구름 모양으로 표현한 것에서 유래했다.
클라우드는 다음과 같은 핵심 기술과 이용 형태에 따라 구성된다:
- 서버 및 네트워크 가상화
- 분산형 데이터베이스
- 서비스형 소프트웨어 (SaaS)
52. 서버 가상화
서버 가상화는 클라우드의 핵심 기술로, 물리적 하드웨어에 의존하지 않고 논리적으로 서버를 구성하는 방식이다. 이 기술을 통해 서버 한 대에서 여러 개의 CPU, 메모리, 운영체제(OS)를 독립적으로 운영할 수 있다.
**가상 머신(VM)**은 한 컴퓨터에서 여러 OS를 운용하는 기술이며, 이를 서버에 적용하면 한 대의 물리 서버에서 여러 가상 서버를 생성할 수 있다. 각 가상 서버는 독립적이므로 이메일, 웹, 데이터베이스 등 용도에 맞는 전용 서버 구성이 가능하다.
데이터 센터의 호스팅(임대) 서비스를 이용하면, 사용자는 직접 서버를 구매하고 관리하는 비용을 크게 절감할 수 있다.
가상화의 종류
호스트 OS형:
- 하드웨어 → 호스트 OS → 가상화 소프트웨어 → 게스트 OS
- 특징: 기존 OS 위에 설치하여 간편
하이퍼바이저형:
- 하드웨어 → 하이퍼바이저 → 게스트 OS
- 특징: 하드웨어에 직접 설치되어 성능 우수
53. 분산 기술
인터넷은 태생적으로 분산형 네트워크로 설계되었다. DNS와 대부분의 클라우드 서비스 역시 분산형 구조를 따른다.
| 관리 유형 | 특징 | 장점 | 단점 |
|---|---|---|---|
| 중앙 집중형 | 하나의 관리 호스트가 전체를 제어 | 관리가 간편함 | 관리 호스트 장애 시 전체 네트워크 중단 |
| 분산형 | 중앙 관리 주체 없이 각 노드가 자율적으로 통신 | 장애 허용성, 확장성, 유연성 높음 | 제어 복잡, 트래픽 혼잡 가능성 |
인터넷의 분산 기술 사례
DNS (Domain Name System)
- 전 세계의 도메인 이름과 IP 주소의 대응 정보를 관리하는 거대한 분산 데이터베이스
- 중앙 집중형으로는 실시간 관리가 거의 불가능
대규모 클라우드 서비스
- 필요한 서버 리소스를 전 세계 데이터 센터에 분산시켜 놓음
- 사용자는 언제든지 가상 서버를 생성하고 삭제 가능
- 특정 지역에 액세스가 집중될 때 해당 지역의 서버를 증설하는 등 유연한 대처 가능
- 시스템의 장애 허용성과 가용성을 크게 높임
54. 클라우드 서비스 모델: IaaS, PaaS, SaaS
클라우드 서비스는 이용(제공) 형태에 따라 크게 세 가지 모델로 분류할 수 있다.
IaaS (Infrastructure as a Service)
- 서비스형 인프라
- CPU, 메모리, 스토리지, 네트워크 등 하드웨어 인프라를 가상화하여 제공
- 사용자는 OS부터 애플리케이션까지 모든 소프트웨어를 직접 설치하고 관리
PaaS (Platform as a Service)
- 서비스형 플랫폼
- IaaS 위에 OS, 미들웨어, 개발 도구, 데이터베이스 등을 포함한 플랫폼 환경을 제공
- 개발자는 인프라 관리에 신경 쓸 필요 없이 애플리케이션 개발에만 집중 가능
SaaS (Software as a Service)
- 서비스형 소프트웨어
- 완성된 소프트웨어를 인터넷을 통해 제공
- 사용자는 설치 없이 웹 브라우저나 앱으로 즉시 이용 가능 (예: Google Docs, Slack)
DaaS (Desktop as a Service)
- 서비스형 데스크톱
- Windows, macOS 같은 데스크톱 환경을 클라우드에서 제공
- 어떤 단말기에서 접속하든 항상 동일한 개인 PC 환경에서 작업 가능
💡 ASP (Application Service Provider): SaaS와 유사한 개념이지만, ASP는 서비스를 제공하는 '사업자'나 '비즈니스 모델'을 지칭하는 경향이 강하고, SaaS는 서비스의 '형태'나 '기술' 자체를 의미한다.
55. 클라우드 컴퓨팅 vs 온프레미스
| 구분 | 클라우드 컴퓨팅 (Cloud Computing) | 온프레미스 (On-Premises) |
|---|---|---|
| 소유 | 서비스 제공업체가 소유한 인프라를 임대 | 기업이 직접 하드웨어를 소유 |
| 초기 비용 | 낮음 (구독료) | 높음 (서버, 라이선스 구매 등 설비 투자) |
| 운영 비용 | 사용한 만큼 지불 (운영 비용에 포함) | 상주 인력, 전기세, 유지보수 등 관리 비용 |
| 확장성 | 매우 높음 (필요 시 즉시 확장/축소 가능) | 낮음 (물리적 하드웨어 추가/교체 필요) |
| 보안 | 제공업체의 전문 보안팀이 관리 (책임 공유 모델) | 기업이 직접 모든 보안 대책을 수립하고 실행 |
| 접근성 | 인터넷만 있으면 어디서든 접근 가능 | 주로 내부 네트워크에서만 접근 (보안 정책에 따라 다름) |
56. 엣지 컴퓨팅
IoT 기기, 자율주행차 등이 보급되면서 모든 데이터를 중앙 클라우드로 보내 처리하는 방식의 한계(서버 부하, 응답 시간 지연)가 드러나고 있다.
엣지 컴퓨팅은 이러한 문제를 해결하기 위해 탄생한 기술로, 데이터가 생성되는 단말기나 그와 가까운 위치(네트워크의 '엣지')에 서버를 분산 배치하여 데이터를 처리하는 방식이다.
중앙 클라우드 모델의 문제점
- 응답 지연
- 네트워크 부하
엣지 컴퓨팅의 해결책
- 실시간 처리 능력 향상
- 서버 및 네트워크 부하 감소
목표: 중앙 서버로 데이터를 보내기 전, 엣지 서버에서 1차적인 전처리를 수행하여 부하와 응답 시간을 줄인다.
적용: 실시간성이 중요한 자율주행, 스마트 팩토리, 모바일 센서 네트워크 등에서 기지국이나 게이트웨이에 엣지 서버를 배치하여 활용한다.
57. 컨테이너
컨테이너는 애플리케이션과 그 실행에 필요한 모든 환경(라이브러리, 바이너리, 설정 파일 등)을 가상으로 패키징하는 기술이다.
가상 머신(VM)이 하드웨어와 OS까지 통째로 가상화하는 반면, 컨테이너는 호스트 OS의 커널을 공유하며 애플리케이션의 실행 환경만 독립적으로 격리한다.
| 구분 | 가상 머신 (VM) | 컨테이너 (Container) |
|---|---|---|
| 가상화 수준 | 하드웨어 + OS | 애플리케이션 환경 |
| OS | 각 VM마다 게스트 OS 필요 | 호스트 OS 커널 공유 (게스트 OS 불필요) |
| 용량 및 속도 | 크고 무거움, 부팅 오래 걸림 | 작고 가벼움, 수초 내 실행 |
| 자원 효율성 | 낮음 | 높음 |
| 대표 기술 | VMware, VirtualBox | Docker, Podman |
컨테이너 오케스트레이션: 다수의 컨테이너를 효율적으로 배포, 관리, 확장하기 위한 도구. **쿠버네티스(Kubernetes)**가 사실상의 표준이다.
58. 마이크로서비스 아키텍처 (MSA)
마이크로서비스는 하나의 큰 애플리케이션을 여러 개의 작은 기능 단위(서비스)로 잘게 쪼개어, 각 서비스가 독립적으로 개발되고 배포되도록 구축하는 아키텍처 스타일이다.
모놀리식 아키텍처
- 하나의 거대한 애플리케이션 (사용자 관리 + 상품 관리 + 주문 관리)
마이크로서비스 아키텍처
- 사용자 서비스 ↔ API 게이트웨이
- 상품 서비스 ↔ API 게이트웨이
- 주문 서비스 ↔ API 게이트웨이
특징
- 각 서비스는 독립된 서버처럼 작동하며, 주로 REST API를 통해 통신
- 서비스별로 다른 기술 스택(프로그래밍 언어, DB)을 사용할 수 있음
- 특정 서비스의 장애가 전체 시스템에 영향을 미치지 않음
배경: 과거에는 네트워크 및 하드웨어 성능의 한계로 구현이 어려웠으나, 클라우드, 컨테이너 기술의 발전으로 보편화되었다.
관계: MSA는 컨테이너 기술과 궁합이 잘 맞으며, 이는 웹 서비스의 개발과 운영을 통합하는 데브옵스(DevOps) 문화의 핵심 요소가 된다.
59-61. 주요 클라우드 서비스의 핵심 기능
AWS, Azure, GCP 등 주요 클라우드 제공업체들은 이름은 다르지만 유사한 핵심 기능들을 제공한다.
| 기능 분류 | 약어 | 설명 |
|---|---|---|
| 가상 네트워크 | VPC (Virtual Private Cloud) | 클라우드 내에 논리적으로 격리된 프라이빗 네트워크 공간을 생성하는 서비스 |
| 계정 및 권한 관리 | IAM (Identity and Access Management) | 사용자와 그룹을 생성하고, 각 리소스에 대한 접근 권한을 세밀하게 제어하는 서비스 |
| 관계형 데이터베이스 | RDS (Relational Database Service) | MySQL, PostgreSQL 등 관계형 데이터베이스를 쉽게 설정, 운영, 확장할 수 있도록 관리해주는 서비스 |
| 콘텐츠 전송 네트워크 | CDN (Content Delivery Network) | 전 세계 곳곳에 분산된 캐시 서버에 콘텐츠를 복제해두고, 사용자와 가장 가까운 서버에서 콘텐츠를 전송하여 로딩 속도를 향상시키는 서비스 |
| 부하 분산 | LB (Load Balancer) | 들어오는 트래픽을 여러 대의 서버에 자동으로 분산시켜 시스템의 부하를 줄이고 가용성을 높이는 서비스 |
| 도메인 이름 시스템 | DNS (Domain Name System) | 도메인 이름(예: google.com)을 IP 주소로 변환해주는 서비스 |
| 가상 사설망 | VPN (Virtual Private Network) | 인터넷과 같은 공용망을 통해 외부에서도 내부 네트워크에 안전하게 접속할 수 있도록 만들어주는 가상 사설 터널링 서비스 |
62. 프라이빗 vs 퍼블릭 클라우드
| 구분 | 프라이빗 클라우드 (Private Cloud) | 퍼블릭 클라우드 (Public Cloud) |
|---|---|---|
| 인프라 | 단일 조직 전용 (자체 데이터센터 또는 임대) | 다수의 고객이 공유 (서비스 제공업체 소유) |
| 접근성 | 제한적 (주로 전용회선, VPN으로 접속) | 개방적 (인터넷을 통해 누구나 접근 가능) |
| 보안 | 높은 통제력, 기업이 직접 관리 | 제공업체의 높은 보안 수준 (책임 공유) |
| 비용 | 높은 초기 투자 및 유지보수 비용 | 낮은 초기 비용, 사용한 만큼 지불 |
| 유연성 | 낮음 | 높음 |
| 예시 | 기업이 자체 구축한 내부 클라우드 시스템 | AWS, Google Cloud, MS Azure, 네이버 클라우드 |
63. 데이터 플랫폼: CDP와 DDP
클라우드 플랫폼 중 데이터의 관리 및 활용에 특화된 것으로 CDP와 DDP가 있다.
CDP (Customer Data Platform)
- 고객 데이터 플랫폼
- 사용자의 개인정보, 속성 정보, 행동 로그 등 다양한 채널에서 수집된 고객 데이터를 통합하고 관리하여 마케팅 등에 활용하는 플랫폼
DDP (Device Data Platform)
- 디바이스 데이터 플랫폼
- IoT 기기, 산업용 센서, 스마트폰 등 각종 디바이스에서 수집되는 데이터를 집약하고 관리하는 플랫폼
이러한 데이터 플랫폼은 정보 은행, 개인화 마케팅, 디지털 전환(DX) 등에서 중요성이 커지고 있으며, 사업자에게는 매우 엄격한 데이터 보안 및 관리가 요구된다.
클라우드 시대의 네트워크 변화
경계의 모호함
업무 시스템이 클라우드에 존재하면서, 과거 명확했던 내부망(LAN)과 외부망(인터넷)의 경계가 모호해졌다.
보안 패러다임의 변화
모든 것을 신뢰하지 않는다는 전제에서 시작하는 제로 트러스트(Zero Trust) 보안 모델이 필수가 되었다. 모든 단말기와 트래픽을 검사하고 로그를 기록해야 한다.
개발과 운영의 신속화
클라우드와 컨테이너 기술은 개발(Development)과 운영(Operations)을 통합하여 서비스 출시 속도를 높이는 데브옵스(DevOps) 문화를 보편화시켰다.